package daos;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.Query;

import datos.Calificacion;
import datos.Usuario;

/**
 * @version 1.0
 * @author Andres Mejia -Fabio Giraldo
 * 
 * Session Bean implementation class CalificacionDAO
 * 
 * @param Calificacion hace referencia a la entidad que va hacer manejada por el DAO.
 * @param Integer especifica cual es el tipo de dato de la llave primaria de la entidad.
 * 
 */
@Stateless
@LocalBean
public class CalificacionDAO extends DAO<Calificacion, Integer> {

    /**
     * Default constructor. 
     */
    public CalificacionDAO() {
        // TODO Auto-generated constructor stub
    }

	@Override
	protected Class<Calificacion> getEntityClass() {
		// TODO Auto-generated method stub
		return Calificacion.class;
	}
	
	public List<Usuario> CalificacionesMayores()
	{
		Query query = entityManager.createQuery
		("select calificacion.usuario,AVG(calificacion.puntage) from Calificacion calificacion GROUP BY calificacion.usuario HAVING AVG(calificacion.puntage)>=5");
		return query.getResultList();
	}


}
